<?php
/**
 * @author leon
 *
 */
class Database{
	private $host = "localhost";
	private $database = "usr_web1008_2";
	private $user = "web1008";
	private $password = "PpvseHqD";

	public  $connection;
	/**
	 * @return unknown_type
	 */
	public function __construct(){
		$this->connection = new mysqli($this->host, $this->user, $this->password, $this->database);
	}
	/**
	 * @param $strSQL
	 * @return unknown_type
	 */
	public function query($strSQL){
		return $this->connection->query($strSQL);
	}
	/**
	 * @param $strTable
	 * @param $arrFields
	 * @param $arrTypes
	 * @return unknown_type
	 */
	public function createTable($strTable, $arrFields, $arrTypes){
		
		if(count($arrFields) == count($arrTypes)){ //Nur weiter, wenn Anzahl Felder und Typen gleich groß ist 
			$sqlFields = "
				CREATE TABLE IF NOT EXISTS ".$strTable." (
					id INT AUTO_INCREMENT PRIMARY KEY, 
				";
			while(list($key, $field) = each($arrFields)){
				$sqlDef .= $field." ". $arrTypes[$key].", ";
			}
			$sqlFields .= trim($sqlDef, ", ");
			$sqlFields .=")";
			$this->query($sqlFields);
            return $sqlFields;
		}
	}


    public function getTables(){                //Liefert alle Tabellennamen der Datenbank
        return($this->query("SHOW TABLES"));
    }
	/*
	 * TODO: In der Funktion createTable wird bereits über "IF NOT EXISTS" überprüft, 
	 * ob eine Tabelle existiert.
	 */
    public function tableExists($tablename){  //Prüft, ob eine Tabelle mit dem Namen $tablename bereits in der Datenbank existiert
        $exists = false;
        $res = $this->getTables();

        while($table = $res->fetch_array()){
            if($table[0] == $tablename)
              $exists = true;
        }
        return($exists);
    }
}